

from core.himesis import Himesis
import cPickle as pickle
from uuid import UUID

class HL2_MM2MM(Himesis):
    def __init__(self):
        """
        Creates the himesis graph representing the AToM3 model HL2_MM2MM.
        """
        # Flag this instance as compiled now
        self.is_compiled = True
        
        super(HL2_MM2MM, self).__init__(name='HL2_MM2MM', num_nodes=14, edges=[])
        
        # Add the edges
        self.add_edges([(3, 4), (4, 11), (3, 5), (5, 10), (11, 0), (0, 10), (1, 6), (1, 7), (9, 2), (2, 8), (6, 9), (7, 8), (12, 8), (13, 9), (10, 12), (11, 13)])
        # Set the graph attributes
        self["mm__"] = pickle.loads("""(lp1
S'SimpleDSLTransMM'
p2
a.""")
        self["name"] = """L2_MM2MM"""
        self["GUID__"] = UUID('bfc28089-7f69-4565-bf61-f51913c03b58')
        
        # Set the node attributes
        self.vs[0]["mm__"] = """directLink_T"""
        self.vs[0]["GUID__"] = UUID('7c5d34a9-624f-43b5-b5a5-9a4deee3ee24')
        self.vs[1]["mm__"] = """MatchModel"""
        self.vs[1]["GUID__"] = UUID('681c486f-4599-441f-8347-c3ec1e36b960')
        self.vs[2]["mm__"] = """indirectLink_S"""
        self.vs[2]["GUID__"] = UUID('31f5ac50-a0e1-434f-8856-6746debd68b2')
        self.vs[3]["mm__"] = """ApplyModel"""
        self.vs[3]["GUID__"] = UUID('d9c351eb-cb84-4b2c-8cb4-cea85a56e38f')
        self.vs[4]["mm__"] = """apply_contains"""
        self.vs[4]["GUID__"] = UUID('865629ec-b718-444e-9c9e-3c405cba169c')
        self.vs[5]["mm__"] = """apply_contains"""
        self.vs[5]["GUID__"] = UUID('baf68921-2a05-48cd-a43c-b452a7620ea9')
        self.vs[6]["mm__"] = """match_contains"""
        self.vs[6]["GUID__"] = UUID('c0ba4943-47db-4f23-ac85-265a4788f031')
        self.vs[7]["mm__"] = """match_contains"""
        self.vs[7]["GUID__"] = UUID('1c73e15f-0d38-411f-af40-b3af43e3b003')
        self.vs[8]["mm__"] = """Male_S"""
        self.vs[8]["name"] = """m2"""
        self.vs[8]["GUID__"] = UUID('ab9a3eea-86b9-4cf3-8a70-ab721fb4e692')
        self.vs[9]["mm__"] = """Male_S"""
        self.vs[9]["name"] = """m1"""
        self.vs[9]["GUID__"] = UUID('091b1b83-0883-4f02-923c-bd3f11f3907a')
        self.vs[10]["mm__"] = """Male_T"""
        self.vs[10]["name"] = """m2"""
        self.vs[10]["GUID__"] = UUID('3aae7ac9-fb6e-4e95-8392-40f2677aab33')
        self.vs[11]["mm__"] = """Male_T"""
        self.vs[11]["name"] = """m1"""
        self.vs[11]["GUID__"] = UUID('f8f421e4-718c-432f-a02b-f01bdaa4e66c')
        self.vs[12]["mm__"] = """backward_link"""
        self.vs[12]["GUID__"] = UUID('569ddbc1-3d25-44a6-bfc3-d979a940b694')
        self.vs[13]["mm__"] = """backward_link"""
        self.vs[13]["GUID__"] = UUID('90aed1ba-4ad1-4d2b-a612-cd3edbea4068')

